This disclosure relates to devices, techniques, and systems pertaining to databases containing computer-readable data. More particularly, this disclosure concerns computer-implemented systems configured to facilitate the development and maintenance of database driven applications, where an interface is executed by a client device, such as a desktop or a mobile device.
Database-driven web applications typically are configured to perform simple interactions with a database server and an application server. In particular, the database-driven web application executes an action, in response to user input at the browser, which issues one or more commands to the database server to perform one or more actions. The one or more actions can be inserting, deleting, or updating records of the database. Additional commands can modify data maintained by the application server. Further, the action can determine the next page to be displayed in response to an evaluation of one or more simple conditions.
Despite their apparent simplicity, basic web applications can take a significant amount of time to develop because the code must be developed to resolve system integration and data coordination issues across multiple systems. The systems can include (a) the database server, (b) the application server, and (c) the client device (e.g., a smart phone) for user interaction. Further, one or more layers, such as the visual layer, the application logic layer, and the data layer, can use a different language. In such an instance, communications between layers must be translated.
In some web applications, Ajax has been used to update pages using event driven code. As a result, an event handling function can be executed to collect data relevant to an action. A response handler can receive the result of the event and use it to partially update a page. However, using Ajax to permit partial updates also can require a significant amount of development. For instance, it can be necessary to generate code for each action that partially updates a page. Further, it can be necessary to generate server-side code to retrieve data needed for a page update and browser-side code to render a sub-region of the page that has changed.